#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include <QQuickView>

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);

    QGuiApplication app(argc, argv);

    // qt官方说明 https://doc.qt.io/archives/qt-5.5/qqmlapplicationengine.html#details
    /*
    QQmlApplicationEngine搭配Window
    QQuickView搭配Item
    两者不同之处在于：
    使用QQuickView显示QML文档，只能在C++代码中对窗口进行控制（比如设置窗口标题、Icon、窗口的最小尺寸等）；
    而使用QQmlApplicationEngine加载以Window为根对象的QML文档，QML文档则拥有窗口的完整控制权，
    可以直接设置标题、窗口尺寸等属性。

    // QQmIAppIicationEngine加载以Window为根对象的QML文档
    // 所以qrc:/main.qml的root必须是Window
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    */
    QQuickView viewer;
    viewer.setResizeMode(QQuickView::SizeRootObjectToView);
    viewer.setSource(QUrl("qrc:///main.qml"));
    viewer.show();
    return app.exec();
}
